home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / UTILITY / DOSMAX17.ARJ / FREELOAD.DOC < prev    next >
Text File  |  1992-07-23  |  12KB  |  301 lines

  1.  
  2. ================================================================================
  3.       FREELOAD.SYS :  Ver. 1.7, Copyright (1992) by Philip B. Gardner
  4.       FREELO86.SYS (8086):  Ver. 1.7, Copyright (1992) by Philip B. Gardner
  5. ================================================================================
  6.  
  7.   FREELOAD.SYS is a device driver which will help maximize the use of low
  8.   memory by releasing memory usually reserved in low memory by LOADHI.SYS
  9.   from Quarterdeck Office Systems. 
  10.  
  11.   FREELOAD.SYS tracks the high memory device loader operations and if it
  12.   is safe to release the low memory after each device initiates, the low
  13.   memory is released and the driver in upper memory is linked into the DOS
  14.   device chain.
  15.  
  16.   FREELOAD.SYS can be used to save 1-2k in a typical configuration.  The
  17.   actual amount of memory saved depends upon on the number and type of
  18.   device drivers loaded high.
  19.  
  20.   Support is provided for:
  21.  
  22.     * specifying the name and path of the device loader
  23.     * both character and block devices
  24.     * character drivers which contain an unlimited number of devices
  25.     * DOS Versions 3.1 - 3.31, DOS 4.x, and DOS 5.x (or better?)
  26.  
  27. ================================================================================
  28.  
  29. (Requirements)::
  30.  
  31.         * 186 processor or better
  32.           (DOSM86.EXE now included to support 8086/8088 processors)
  33.         * Requires MS-DOS Version 3.10 or better
  34.  
  35. ================================================================================
  36.  
  37. (Installation)::
  38.  
  39.         (CONFIG.SYS)::
  40.  
  41.         Installation of FREELOAD.SYS requires modifying the contents of
  42.         your CONFIG.SYS file.
  43.  
  44. (Generic Configuration)::
  45.  
  46.         This configuration should work and be the most efficient in 95%
  47.         of all configurations.  For a few real world examples see
  48.         EXAMPLES.DOC
  49.  
  50.         DOS=HIGH[,UMB]                    (DOS 5.0 only)
  51.         DEVICE=STOPMAX.SYS [options]      (Stops kernel from loading in HMA)
  52.         DEVICE=(xms/umb memory manager)
  53.         DEVICE=DOSMAX.EXE [options]       (DOSMAX loads high automatically)
  54.         DEVICE=FREELOAD.SYS [-S][other options]
  55.         REM DEVICE=LOADHI.SYS DOSMAX.EXE  (or DOSMAX loaded high with loader)
  56.         SHELL=COMMAND.COM /P
  57.         BUFFERS=20
  58.         FILES=40
  59.         LASTDRIVE=Z
  60.  
  61.         Add a DEVICE= line for FREELOAD.SYS in your config.sys.  FREELOAD
  62.         should be loaded immediately after the XMS and UMB memory manager
  63.  
  64.         DEVICE=(Memory Manager)
  65.         DEVICE=FREELOAD.SYS [options]
  66.  
  67.         The default loader pathname is "C:\QEMM\LOADHI.SYS".  If FREELOAD
  68.         cannot open this pathname, a message will displayed alerting you
  69.         to "Use /Fpathname to override."  An example which uses this switch
  70.         is shown below:
  71.  
  72.         DEVICE=FREELOAD.SYS /F D:\QEMM\LOADHI.SYS
  73.  
  74. (Tip)::
  75.  
  76.         If you prefer that a particular device driver is not affected by
  77.         the operation of FREELOAD, place the DEVICE= for that device above
  78.         the DEVICE=FREELOAD.SYS entry.  This may be necessary in the case
  79.         that a particular driver is not compatible with FREELOAD.
  80.  
  81. ================================================================================
  82.  
  83. (Syntax)::
  84.  
  85.         The only thing to remember about syntax for the command line is
  86.         that just about anything works.  What this means is that you
  87.         should be able to type in the options on the command line the
  88.         way they make sense to you.
  89.  
  90.         To illustrate this point, the following command line example
  91.         is mutated several different ways.
  92.  
  93.         DEVICE=FREELOAD.SYS /R+ /P+ /FC:\QEMM\LOADHI.SYS
  94.         DEVICE=FREELOAD.SYS -R+ -P+ -F C:\QEMM\LOADHI.SYS
  95.         DEVICE=FREELOAD.SYS R+ P+ F C:\QEMM\LOADHI.SYS
  96.         DEVICE=FREELOAD.SYS R+P+FC:\QEMM\LOADHI.SYS
  97.         DEVICE=FREELOAD.SYS -R+P+FC:\QEMM\LOADHI.SYS
  98.  
  99.         ... and so on.  There must be an EOL or space following the
  100.         filename paramter the /Fpathname switch
  101.  
  102. (Switch Options)::
  103.  
  104.         (REPORT)::      R[+ or -]       (toggle:  default -)
  105.  
  106.         Use /R+ to enable a report of the allocation status
  107.         of FREELOAD.SYS
  108.  
  109.         (PAUSE)::       P[+ or -]       (toggle:  default -)
  110.  
  111.         Use /P+ enable a pause after the above report
  112.  
  113.         (NOPAUSE)::     N[+ or -]       (toggle:  default -)
  114.  
  115.         Use /N+ to never pause after the report, even if there
  116.         are errors.  This switch can be used if your configuration
  117.         generates a warning or error message which you choose to ignore.
  118.  
  119.         (FILEPATH)::    F[pathname]     (string:  default C:\QEMM\LOADHI.SYS)
  120.  
  121.         Use /Fpathname to specify the filename and path of the device
  122.         loader provided with your upper memory manager.  For example, if
  123.         this device driver is on drive D:
  124.  
  125.                 DEVICE=FREELOAD.SYS /FD:\QEMM\LOADHI.SYS
  126.  
  127.         If FREELOAD cannot find this file, it will not load.
  128.  
  129.         (DRIVE TABLE SIZE)::    Dnn     (value:  nn = 88)
  130.  
  131.             Use /Dnn to set the Drive Table Size.  Values other than the
  132.         MS-DOS 4.0 - 5.0 Drive Table Size of 88 are only allowed if the
  133.         true MS-DOS version is greater than 5.0.  The Drive Table Size
  134.         for DOS 3.x is 81. The /Dnn switch is only necessary if FREELOAD
  135.         can't determine the Drive Table Size automatically.
  136.  
  137.         (SHRINK)::      S[+ or -]       (toggle:  default -)
  138.  
  139.         FREELOAD normally takes approximately 1K of high memory. Use /S+
  140.         to reduce this requirement to 16 bytes just before the shell is
  141.         loaded from CONFIG.SYS.  Shrinking may cause problems with high
  142.         memory optimizers, but the switch can be safely used after the
  143.         system is optimized, to free another 1K of high memory.
  144.  
  145.         (MEMORY STRATEGY)::     Mn              (value:  n = 0)   
  146.  
  147.         Use /Mn to control the memory allocation strategy which FREELOAD
  148.         uses to allocate its upper memory block.  The default strategy is
  149.         is First Fit (/M0).  This means that FREELOAD will use the first
  150.         upper memory block returned by the XMS manager.  The other options
  151.         are Best Fit (/M1) and Last Fit (/M2).  Best Fit uses the block
  152.         which most closely matches the size needed, and Last Fit uses the
  153.         highest block big enough to handle the request.  Values other than
  154.         0, 1, or 2 are ignored and the previous setting of this option is
  155.         used.
  156.  
  157.         *  everything in square brackets "[]" is optional
  158.  
  159. (CONFIG.SYS Line)::
  160.  
  161.         DEVICE=FREELOAD.SYS [/ or -][R[+]P[+]N[+]S[+]Fpathname]
  162.  
  163.         device mode default: /R-/P-/N-/S-/Mn/FC:\QEMM\LOADHI.SYS
  164.  
  165.         *  No Report status messages
  166.         *  No Pause after report
  167.         *  Pause on errors or warnings
  168.         *  Use the First Fit memory allocation strategy
  169.         *  Default Loader Pathname = "C:\QEMM\LOADHI.SYS"
  170.  
  171. ================================================================================
  172.  
  173. (Report Format)::
  174.  
  175.       FREELOAD.SYS :  Ver. 1.7, Copyright (1992) by Philip B. Gardner
  176.              ERROR :  (Error Messages)
  177.            WARNING :  (Warning Messages)
  178.             ADVICE :  (Advisory Messages)
  179.                    :  (Report Messages)
  180.                    :  (Allocation Status)
  181.              PAUSE :  Press any key to continue... 
  182.  
  183. ================================================================================
  184.  
  185. (Error Messages)::
  186.  
  187.         MS-DOS version 3.10 or above is required
  188.         XMS manager not installed
  189.         DOS version is not compatible
  190.         Can't load in High Memory
  191.         An 80186 processor or better is required
  192.         Device Loader not found
  193.  
  194. ================================================================================
  195.  
  196. (Warning Messages)::
  197.  
  198.         Unknown option in command line
  199.         Extra characters on command line
  200.         Drive Table Size not determined or out of range
  201.  
  202. ================================================================================
  203.  
  204. (Advisory Messages)::
  205.  
  206.         Use /Fpathname to override
  207.         Use /Dnn switch to set Drive Table size
  208.  
  209. ================================================================================
  210.  
  211. (Report Messages)::
  212.  
  213.         Drive Table Size set to 00h
  214.         [pathname]                      (/Fpathname parameter if error)
  215.  
  216. ================================================================================
  217.  
  218. (Allocation Status)::
  219.  
  220.         FREELOAD moved to 0000
  221.         Not enough Hi Memory for FREELOAD  
  222.  
  223. ================================================================================
  224.  
  225. (Changes)::
  226.  
  227.     (Version 1.1)::
  228.  
  229.     (1) Fixed problem where character devices were skipped if a
  230.         block device was loaded first
  231.  
  232.     (2) Added support for block devices.  This grew the size of
  233.         FREELOAD to 880 bytes so FREELOAD now shrinks to 16 bytes
  234.         when finished.  This frees a .8k block of upper memory
  235.         which is not needed after all devices are loaded.
  236.  
  237.     (Version 1.2)::
  238.  
  239.     (1) Added support for character drivers which contain multiple
  240.         devices.  There is a requirement for 16 bytes of low
  241.         memory for a multiple device driver, but this 16 bytes
  242.         supports an unlimited number of devices within the driver.
  243.         Without the 16 bytes, DOS believes the initialization of the
  244.         driver has failed and only the first device is linked.
  245.  
  246.     (Version 1.3)::
  247.  
  248.     (1) Fixed problem with failing to build a Drive Parameter Block
  249.         when a multiple device driver ended with a block device.
  250.  
  251.     (2) Changed automatic reduce to a command line option.  FREELOAD
  252.         now takes 1K bytes high.  If the /S+ (shrink option is used)
  253.         this size is reduced to 16 bytes just before the shell is loaded.
  254.  
  255.     (Version 1.4)::
  256.  
  257.     (1) Improved multiple device failure mode.  If a multiple device
  258.         driver has begun the initiate phase and fails, the high device
  259.         is left unlinked, and the loader is left in place with memory
  260.         and the device chain set to the length of the last successful
  261.         initialization.  This method more closely emultates DOS.
  262.  
  263.     (2) Added check that resets FREELOAD if the loader doesn't load the
  264.         device in high memory successfully.
  265.  
  266.     (3) Optimized code to reduce memory requirement back to 1K
  267.  
  268.     (Version 1.5)::
  269.  
  270.     (1) Added base 10 display of Drive Table Size message
  271.  
  272.     (Version 1.6)::
  273.  
  274.     (1) Added support for DOS 5 UMB's when moving FREELOAD upto upper
  275.         memory.  Some device loaders will work with DOS 5 UMB's, and
  276.         now you can use the loader instead of DEVICEHIGH= if you want.
  277.  
  278.     (2) Added /Mn option, to allow general control of memory allocation
  279.         strategy.  First Fit = 0, Best Fit = 1, and Last Fit = 2 were
  280.         implemented for both DOS 5 UMB's, and XMS UMB's.
  281.  
  282.     (3) Added check for a 186 processor or better (allows V20/V30).
  283.  
  284.     (4) Now supporting separate program FREELO86.SYS.  This program is
  285.         functionally identical to FREELO86.SYS, but is compiled to work
  286.         on 8086/8088 processors also.  The stub left in high memory
  287.         is 16 bytes greater using with this variation.
  288.  
  289.     (Version 1.7)::
  290.  
  291.     (1) Changed common parsing algorithum to add support for Hex-Notation
  292.         input.  This input method is not used in FREELOAD at this time.
  293.  
  294.     (2) Fixed case where device fails but the loader tells DOS the device
  295.         was ok.  The high memory block is released, but the loader still
  296.         reserves low memory.  FREELOAD linked the released driver, but now
  297.         detects the condition, does not complete the link, and releases
  298.         the stub.
  299.  
  300. ================================================================================
  301.